package com.zhanglijie.base.datamoveprodandconsume;

/**
 * @author zhanglijie
 * @version 1.0
 * @since 1.1.0 2022/3/13 0013 2:02
 * 解决 MyConsumer1的数据不共享问题，每个Consumer都有自己各自的total 和cur数据
 * 但是存在jmm问题  可能线程1 打印正在消费第 1 数据包时候，1还没刷回主内存通步给线程2 ，所以线程2也打印正在消费第 1 数据包（基于 旧数据++0）
 */
public class MyConsumer2 extends Thread{
    private final static int total = 2000;
    private static int cur = 0;
    @Override
    public void run() {
        while(cur<total){
            System.out.println("正在消费第"+(++cur)+"数据包");
        }
    }
}
